home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / d / mtproces.d < prev    next >
Text File  |  1997-10-26  |  3KB  |  61 lines

  1. (*----------------------------------------------------------------------*
  2.  *                                                                      *
  3.  *  MAGICTOOLS   Modula's  All purpose  GEM  Interface  Cadre  Toolbox  *
  4.  *               ÿ         ÿ            ÿ    ÿ          ÿ               *
  5.  *----------------------------------------------------------------------*
  6.  * Version 3.30  02.02.1992     (C)90/91/92 by Peter Hellinger Software *
  7.  *----------------------------------------------------------------------*
  8.  *            Dieses Modul ist urheberrechtlich geschtzt.              *
  9.  *                                                                      *
  10.  * Die Ver”ffentlichung des Quelltextes oder Teilen daraus, sowie die   *
  11.  * Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
  12.  * oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail-    *
  13.  * boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen    *
  14.  * Einverst„ndnisserkl„rung des Autors.                                 *
  15.  *                                                                      *
  16.  * Die Verbreitung des Moduls als Teil eines gelinkten Programms ist    *
  17.  * fr Lizenznehmer ausdrcklich erlaubt!  Der Autor beh„lt sich das    *
  18.  * Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
  19.  * widerrufen.                                                          *
  20.  *----------------------------------------------------------------------*)
  21.  
  22. (*----------------------------------------------------------------------*
  23.  * mtProzess    Einfacher Scheduler fr Coroutinen. Implementation nach *
  24.  *              Wirth's "Programmieren in Modula-2"                     *
  25.  *----------------------------------------------------------------------*)
  26.  
  27. DEFINITION MODULE mtProcess;
  28.  
  29. FROM MagicSys   IMPORT  Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
  30.                         Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
  31.                         Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
  32.                         sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
  33.  
  34.  
  35.  
  36.  
  37.  
  38. IMPORT SYSTEM;
  39.  
  40. TYPE SIGNAL;
  41.  
  42. PROCEDURE StartProcess (P: PROC; n: lCARDINAL);
  43. (* Starte einen parallelen Prozess mit Prozedur P und einem Arbeitsspeicher
  44.  * der Gr”že n.
  45.  *)
  46.  
  47. PROCEDURE SEND (VAR s: SIGNAL);
  48. (* Ein Prozess, der auf s wartet, wird wieder gestartet *)
  49.  
  50. PROCEDURE WAIT (VAR s: SIGNAL);
  51. (* Warte darauf, daž irgend ein anderer Prozess sendet *)
  52.  
  53. PROCEDURE Awaited (s: SIGNAL): BOOLEAN;
  54. (* Awaited (s) = "mindestens ein Prozess wartet auf s" *)
  55.  
  56. PROCEDURE InitSignal (VAR s: SIGNAL);
  57. (* zwangsweise Initialisierung *)
  58.  
  59. END mtProcess.
  60.  
  61.